A Service Provider Class Application is a software system that runs on large computers and delivers a “mission critical” service or a constituent piece of a critical service to customers (e.g., large corporations and/or governments). It is often desirable for the application to always be available “seven-by-twenty-four,” even during application maintenance, or catastrophic events such as a Wide Area Network (WAN) partial outage, an individual computer system failure, or a regionally restricted natural disaster, like a hurricane. In certain instances, service provider class applications are so large that even computers having a relatively large amount of dedicated resources do not have the ability to process the application. As such, there exists a need for providing scalability to allow 1) the application to scale beyond the constraints of a single computer (e.g., to use multiple computers), while providing 2) high availability of the application so that the application continues to run in the event network paths or individual computers fail, or are been taken offline, and 3) provide an application processing prioritization mechanism in the event of an unusually high processing load (such as during a man-made or natural disaster).
Hence, a need exists for software routines that can be used to provide scalability, high availability and processing prioritization to systems supporting service provider class applications.